package com.sky.chain.service;

import com.sky.chain.model.GoodsEntity;

import java.util.List;
import java.util.Map;

/**
 * 工厂模式
 * 提供实体公共属性接口，
 * IProduct模拟工厂，
 * 提供公共的方法，减少
 * 重复代码的出现
 */
public interface IProduct {

    /**
     * 打印所有得药品详细
     * @return
     */
    void outAllGoodsInfo();

    /**
     * 每种药品剩余多少盒
     * @return
     */
    List<String> getShopNums();

    /**
     * 获取药品详细
     * @return
     */
    Map<Integer, GoodsEntity> getShopNames();

    /**
     * 修改商品库存数据
     * @param number
     * @param name
     */
    void updateGoods(String name, int number);

    /**
     * 充值金额
     * @param money
     */
    void insertMoney(int money);

    /**
     * 添加商品库存
     * @param shopName
     * @param number
     */
    boolean insertShop(String shopName, int number);

    /**
     * 登录验证
     */
    void login();

}
